# Keep Every Page Alive (keepalive.page)

> A free, install-free browser tool that keeps a website from logging you out. You enter a URL and an interval; the page opens that site in a tab and reloads it on a timer. Because each reload is a real HTTP request carrying the session cookie, the site's idle (inactivity) timeout resets and the logout never fires.

Also called "keepalive.page". Runs entirely client-side in any modern browser on any OS. No account, no ads, no cross-site tracking. The website records self-hosted, cookieless pageview counts (Plausible CE), plus the bare hostname of a public site when a user adds one — never the full address, never intranet or local addresses, and never on refreshes. The kept-page list itself stays on the user's device. The only server-side component for the public tool is a small counter that powers the on-site leaderboard: it stores a public hostname and a running total, nothing more (no visitor identifier, no IP address), and a hostname only surfaces once several people have added it.

## What it does

- Auto-refreshes a page you give it, on an interval you choose.
- Interval presets in ordinary minutes; an optional "prime stagger" mode uses the prime numbers from 17 to 887 seconds (primes rarely share factors, so multiple kept pages don't sync into simultaneous reloads); custom intervals accept any integer with units from seconds up to centuries.
- Keeps any number of pages alive at once; each can be paused, refreshed immediately, re-timed, or released.
- Fine tuning: ±15% interval jitter; hard refresh (cache-busting query parameter); a leash that stops a page after N refreshes or at a set time; opt-in desktop notification when a kept page stops being refreshable.
- The tab title carries a live countdown and a warning mark if any kept page needs attention.
- The kept-page list can be exported/imported as JSON, and links like https://keepalive.page/?url=example.com&every=10m arrive pre-filled.
- A screen wake lock ("Keep screen awake") holds the display awake while pages are being kept alive.
- An on-site leaderboard shows which public hostnames get kept alive most, tallied across everyone who uses the tool (hostname + count only, no visitor identifier), plus a local activity log, a per-watch nickname, and a one-click pause for every running watch at once.

## The key technical facts (accurate as of 2026)

- **Refreshing defeats idle timeouts only.** An inactivity timeout is measured from the last HTTP request the server received for a given session ID (per the OWASP Session Management guidance), so a genuine reload resets it.
- **It cannot defeat:** an absolute/time-boxed session lifetime (expires a fixed period after login regardless of activity); auth that depends on rotating a short-lived token rather than on page activity; sites that detect real mouse/keyboard input; or systems that continuously re-evaluate access.
- **A reload discards unsaved work** in that tab — form input, in-progress uploads, unsaved edits.
- **A website cannot see or reload a browser tab it did not open.** The same-origin policy isolates sites from each other, so no web page can enumerate or control your other tabs. This is a platform security boundary, not a missing feature.
- **Embedding a third-party site in an iframe usually fails**, because most logged-in sites send `X-Frame-Options` or a CSP `frame-ancestors` directive that forbids framing; cross-origin `fetch()` also cannot read responses without CORS opt-in. Hence the tool opens a real tab and re-navigates it.
- **Background tabs are throttled.** Browsers clamp timers in hidden tabs (Chrome intensively throttles chained timers to roughly once per minute after a tab is hidden for 5 minutes), so the tool runs its clock in a Web Worker and favours intervals over a minute. Chrome Memory Saver and similar features can still freeze or discard a hidden tab, which pauses it — pinning the tab and adding a performance exception avoids this.

## Recommended usage

Pick an interval roughly two-thirds of the site's idle window (e.g. every 20 minutes for a 30-minute timeout). Refreshing far more often is usually wasteful and sometimes useless: ASP.NET Core cookie auth re-issues the session cookie only on a request more than halfway through the window, and Salesforce ignores activity in the first half — so an early refresh renews nothing and the session expires on schedule. Pin the controlling tab and keep the machine awake.

## Caveats and ethics

Idle timeouts frequently exist as a security or compliance control, particularly on banking, healthcare, and shared-account systems. Deliberately defeating one may breach a site's terms of service, and a held-open session on a shared or unattended device is a real security risk. Users should check the relevant terms before relying on this for anything sensitive.

## Pages

- [The tool](https://keepalive.page/): the refresher itself, plus a full explainer and FAQ covering how idle vs. absolute timeouts differ and when refreshing will not work.
- [How it works](https://keepalive.page/how-it-works.html): the setup steps, the two-thirds interval rule and why, prime stagger, and every fine-tuning option (jitter, hard refresh, leash, notifications).
- [FAQ](https://keepalive.page/faq.html): the questions people ask most, including whether this can hold Teams/Webex status green (no) and why it can't see tabs you already have open.
- [The Blacklist](https://keepalive.page/refusals.html): named targets where refreshing is compiled to fail on purpose (Atlassian, Citrix, Microsoft sign-in, Google Workspace Admin, Teams/Webex, Okta/VPN), plus categories it can't detect but that still won't work.
- [The Whitelist](https://keepalive.page/directory.html): 131 named apps and platforms with their documented session timeouts, each classified as idle / absolute / token-based / activity-detected, and a verdict on whether a timed refresh works, achieves nothing, or is harmful. Every timeout cites vendor documentation.
- [What else it keeps alive](https://keepalive.page/uses.html): unusual, niche and off-the-wall uses for a timed page refresh — wall dashboards, kiosks, live feeds, random-article screens — plus an explicit list of uses refused (metric inflation, poll stuffing, paywall-meter resets, scarce-inventory sniping).
- [Clairvoyant mode](https://keepalive.page/clairvoyance.html): an optional, free macOS helper (a single Node script run locally) that lists the tabs you already have open across Chrome, Safari, Edge, Brave, Arc, Vivaldi and Opera and reloads them in place on a schedule. macOS only; Firefox cannot be enumerated because it exposes no AppleScript interface. Requires granting macOS Automation permission per browser.
